package models

import (
	"gorm.io/gorm"
	"time"
)

// 通用模型
type Model struct {
	ID        uint `json:"id" gorm:"primary_key"`
	CreatedAt time.Time
	//CreatedAt   time.Now().Format("2006-01-02 15:04")
	UpdatedAt   time.Time
	CreatedTime string `json:"createdTime" gorm:"-"`
	UpdatedTime string `json:"createdTime" gorm:"-"`
}

// 在更新前自动格式化时间
func (m *Model) BeforeUpdate(tx *gorm.DB) (err error) {
	m.UpdatedTime = m.UpdatedAt.Format("2006-01-02 15:04")
	return
}

// ECharts图表中的一个数据项的结构体
type EchartOneItem struct {
	Name  string `json:"name"`
	Value int    `json:"value"`
}

// 根据用户列表返回用户名列表
func commonGetUserNamesByUsers(users []*User) []string {
	userNames := []string{}
	for _, user := range users {
		user := user
		userNames = append(userNames, user.Username)
	}
	return userNames
}
